What is @types/mdurl?
The @types/mdurl package provides TypeScript type definitions for the mdurl library, which is a utility for encoding and decoding URLs in Markdown files. These type definitions allow TypeScript developers to use mdurl in a type-safe manner, ensuring that the correct types are used for URL processing functions. This package is particularly useful for developers working on Markdown processing tools or any applications that need to handle URLs within Markdown files.
What are @types/mdurl's main functionalities?
Encoding URLs
This feature allows you to encode a URL to ensure it is safely and correctly represented in Markdown. The code sample demonstrates how to encode a URL containing non-Latin characters, making it suitable for inclusion in a Markdown file.
import { encode } from 'mdurl';
const encodedUrl = encode('https://example.com/путь?query=значение');
console.log(encodedUrl);
Decoding URLs
This feature enables the decoding of URLs that have been encoded. It's particularly useful for extracting the original URL from a Markdown file or any encoded string. The code sample shows how to decode a URL that was previously encoded, converting percent-encoded characters back to their original form.
import { decode } from 'mdurl';
const decodedUrl = decode('https://example.com/%D0%BF%D1%83%D1%82%D1%8C?query=%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5');
console.log(decodedUrl);
Other packages similar to @types/mdurl
url
The 'url' package provides utilities for URL resolution and parsing. While it offers broader functionalities for handling URLs beyond just encoding and decoding, it does not include TypeScript type definitions out of the box, unlike @types/mdurl.
query-string
This package allows for creating, parsing, and formatting URL query strings. It's more focused on the query string aspect of URLs rather than the entire URL processing. Unlike @types/mdurl, it also does not come with TypeScript definitions by default, but it's highly useful for query string manipulation.